Add a 'text' argument to set the initial text.
authorOwen Taylor <otaylor@redhat.com>
Sun, 2 Jul 2000 22:30:54 +0000 (22:30 +0000)
committerOwen Taylor <otaylor@src.gnome.org>
Sun, 2 Jul 2000 22:30:54 +0000 (22:30 +0000)
Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>

* gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
set the initial text.

* gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().

* gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
pango_layout_set_font_description to simplify.

20 files changed:
ChangeLog
ChangeLog.pre-2-0
ChangeLog.pre-2-10
ChangeLog.pre-2-2
ChangeLog.pre-2-4
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkaccellabel.c
gtk/gtkcalendar.c
gtk/gtkclist.c
gtk/gtkentry.c
gtk/gtkhruler.c
gtk/gtkhscale.c
gtk/gtklabel.c
gtk/gtkprogressbar.c
gtk/gtkscale.c
gtk/gtkvruler.c
gtk/gtkvscale.c
gtk/gtkwidget.c
gtk/gtkwidget.h

index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 2026ddbab234419ac30c19508f7d12e1d3355436..f7a675fa3dadbddbefb77db0cec824eb24fe5dc7 100644 (file)
@@ -1,3 +1,16 @@
+Sun Jul  2 18:19:50 2000  Owen Taylor  <otaylor@redhat.com>
+
+       * gtk/gtkwidget.[ch] (gtk_widget_create_pango_layout): Add a 'text' argument to
+       set the initial text.
+
+       * gtk/gtkaccellabel.c gtk/gtkcalendar.c gtk/gtkclist.c
+       gtk/gtkentry.c gtk/gtkhruler.c gtk/gtkhscale.c gtk/gtklabel.c
+       gtk/gtkprogressbar.c gtk/gtkscale.c gtk/gtkvruler.c
+       gtk/gtkvscale.c: Adapt to new argument of create_pango_layout().
+
+       * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
+       pango_layout_set_font_description to simplify.
+
 Sun Jul  2 17:43:41 2000  Owen Taylor  <otaylor@redhat.com>
 
        * gtk/gtkclist.c (_gtk_clist_create_cell_layout): Use new
index 36a2610073de4665d8b021b99574ec5eea0366d7..000432a437076f9864c9d1e0ba69f2c615671fca 100644 (file)
@@ -242,8 +242,7 @@ gtk_accel_label_size_request (GtkWidget          *widget,
   if (GTK_WIDGET_CLASS (parent_class)->size_request)
     GTK_WIDGET_CLASS (parent_class)->size_request (widget, requisition);
 
-  layout = gtk_widget_create_pango_layout (widget);
-  pango_layout_set_text (layout, accel_label->accel_string, -1);
+  layout = gtk_widget_create_pango_layout (widget, accel_label->accel_string);
   pango_layout_get_pixel_size (layout, &width, NULL);
   accel_label->accel_string_width = width;
   
@@ -288,8 +287,7 @@ gtk_accel_label_expose_event (GtkWidget      *widget,
                (widget->requisition.height - misc->ypad * 2)) *
               misc->yalign) + 1.5;
          
-         layout = gtk_widget_create_pango_layout (widget);
-         pango_layout_set_text (layout, accel_label->accel_string, -1);
+         layout = gtk_widget_create_pango_layout (widget, accel_label->accel_string);
          
          if (GTK_WIDGET_STATE (accel_label) == GTK_STATE_INSENSITIVE)
            gdk_draw_layout (widget->window,
index 3442dc5ed4e8d00183bd6179453041bb2c551ae9..45208c8c2b4fb163eb29b63a218cc49ac355e882 100644 (file)
@@ -1168,7 +1168,7 @@ gtk_calendar_size_request (GtkWidget        *widget,
   calendar = GTK_CALENDAR (widget);
   private_data = GTK_CALENDAR_PRIVATE_DATA (widget);
 
-  layout = gtk_widget_create_pango_layout (widget);
+  layout = gtk_widget_create_pango_layout (widget, NULL);
   
   /*
    * Calculate the requisition width for the widget.
@@ -1561,10 +1561,8 @@ gtk_calendar_paint_header (GtkWidget *widget)
                   0, 0, header_width, private_data->header_h);
   
   
-  layout = gtk_widget_create_pango_layout (widget);
-
   sprintf (buffer, "%d", calendar->year);
-  pango_layout_set_text (layout, buffer, -1);
+  layout = gtk_widget_create_pango_layout (widget, buffer);
   pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
   
   /* Draw title */
@@ -1668,7 +1666,7 @@ gtk_calendar_paint_day_names (GtkWidget *widget)
    * Write the labels
    */
 
-  layout = gtk_widget_create_pango_layout (widget);
+  layout = gtk_widget_create_pango_layout (widget, NULL);
   
   gdk_gc_set_foreground (gc, &widget->style->fg[GTK_STATE_SELECTED]);
   for (i = 0; i < 7; i++)
@@ -1752,7 +1750,7 @@ gtk_calendar_paint_week_numbers (GtkWidget *widget)
    * Write the labels
    */
   
-  layout = gtk_widget_create_pango_layout (widget);
+  layout = gtk_widget_create_pango_layout (widget, NULL);
   
   gdk_gc_set_foreground (gc, &widget->style->fg[GTK_STATE_SELECTED]);
   day_height = row_height (calendar);
@@ -1900,10 +1898,8 @@ gtk_calendar_paint_day (GtkWidget *widget,
     }
     
 
-  layout = gtk_widget_create_pango_layout (widget);
-  
   sprintf (buffer, "%d", day);
-  pango_layout_set_text (layout, buffer, -1);
+  layout = gtk_widget_create_pango_layout (widget, buffer);
   pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
   
   x_loc -= logical_rect.width;
index 0964c273c1bdd93e997df10b4773e657b8a54559..3eef07c79bdd7ec8532b859d6cb8f080732c2b25 100644 (file)
@@ -2500,7 +2500,6 @@ _gtk_clist_create_cell_layout (GtkCList       *clist,
                               GtkCListRow    *clist_row,
                               gint            column)
 {
-  PangoContext *context;
   PangoLayout *layout;
   GtkStyle *style;
   GtkCell *cell;
@@ -2522,11 +2521,11 @@ _gtk_clist_create_cell_layout (GtkCList       *clist,
       if (!text)
        return NULL;
       
-      layout = gtk_widget_create_pango_layout (GTK_WIDGET (clist));
+      layout = gtk_widget_create_pango_layout (GTK_WIDGET (clist),
+                                              ((cell->type == GTK_CELL_PIXTEXT) ?
+                                               GTK_CELL_PIXTEXT (*cell)->text :
+                                               GTK_CELL_TEXT (*cell)->text));
       pango_layout_set_font_description (layout, style->font_desc);
-      pango_layout_set_text (layout, ((cell->type == GTK_CELL_PIXTEXT) ?
-                                     GTK_CELL_PIXTEXT (*cell)->text :
-                                     GTK_CELL_TEXT (*cell)->text), -1);
       
       return layout;
       
index 991843f2a5b12c7a1f52aab1252bb3e2fc869613..9a3a1948a6aa6f576104ece1bbb21325b76ec315 100644 (file)
@@ -1165,7 +1165,7 @@ gtk_entry_ensure_layout (GtkEntry *entry)
   
   if (!entry->layout)
     {
-      entry->layout = gtk_widget_create_pango_layout (widget);
+      entry->layout = gtk_widget_create_pango_layout (widget, NULL);
       pango_layout_set_text (entry->layout, entry->text, entry->n_bytes);
     }
 }
index 7f5ee26b39f861ee11244971a637b075cc6de6ab..1a35fea71bc615b879e17bfe0a1a44c15b81a8d8 100644 (file)
@@ -172,8 +172,7 @@ gtk_hruler_draw_ticks (GtkRuler *ruler)
   digit_height = PANGO_PIXELS (ink_rect.height) + 2;
   digit_offset = ink_rect.y;
 
-  layout = gtk_widget_create_pango_layout (widget);
-  pango_layout_set_text (layout, "012456789", -1);
+  layout = gtk_widget_create_pango_layout (widget, "012456789");
   pango_layout_get_extents (layout, &ink_rect, &logical_rect);
   
   digit_height = PANGO_PIXELS (ink_rect.height) + 1;
index 5b5cfa71193bacfb7353068a63ac884cdc9be922..ec1c29d30fd6b0da20c46c5fed7a0426f1014911 100644 (file)
@@ -525,9 +525,7 @@ gtk_hscale_draw_value (GtkScale *scale)
       PangoRectangle logical_rect;
       
       sprintf (buffer, "%0.*f", GTK_RANGE (scale)->digits, GTK_RANGE (scale)->adjustment->value);
-
-      layout = gtk_widget_create_pango_layout (widget);
-      pango_layout_set_text (layout, buffer, -1);
+      layout = gtk_widget_create_pango_layout (widget, buffer);
       pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
 
       switch (scale->value_pos)
index 31e74abf60c8f9a910b8ffca327d2f3e38159b26..21c08f8f5dbb4da862b73b6e5713d41702d1f83c 100644 (file)
@@ -400,12 +400,11 @@ gtk_label_size_request (GtkWidget      *widget,
       PangoAlignment align = PANGO_ALIGN_LEFT; /* Quiet gcc */
       PangoAttrList *attrs = gtk_label_pattern_to_attrs (label);
 
-      label->layout = gtk_widget_create_pango_layout (widget);
+      label->layout = gtk_widget_create_pango_layout (widget, label->label);
+
       pango_layout_set_attributes (label->layout, attrs);
       pango_attr_list_unref (attrs);
 
-      pango_layout_set_text (label->layout, label->label, -1);
-
       switch (label->jtype)
        {
        case GTK_JUSTIFY_LEFT:
index 770dbe9efecbf1b498e208fb112059bd11b20197..e1db4c6b93f0b37be10f50713b8e797ba63c09fd 100644 (file)
@@ -363,8 +363,7 @@ gtk_progress_bar_size_request (GtkWidget      *widget,
     {
       buf = gtk_progress_get_text_from_value (progress, progress->adjustment->upper);
 
-      layout = gtk_widget_create_pango_layout (widget);
-      pango_layout_set_text (layout, buf, -1);
+      layout = gtk_widget_create_pango_layout (widget, buf);
       pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
          
       g_object_unref (G_OBJECT (layout));
@@ -710,8 +709,7 @@ gtk_progress_bar_paint (GtkProgress *progress)
 
          buf = gtk_progress_get_current_text (progress);
 
-         layout = gtk_widget_create_pango_layout (widget);
-         pango_layout_set_text (layout, buf, -1);
+         layout = gtk_widget_create_pango_layout (widget, buf);
          pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
          
          x = widget->style->xthickness + 1 + 
index a23b816142700949b3dc324e905aef5f93fa6ff1..2aa5483f4f70c0b33d88947208baadadffd48480 100644 (file)
@@ -280,7 +280,7 @@ gtk_scale_get_value_size (GtkScale *scale,
       
       range = GTK_RANGE (scale);
 
-      layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale));
+      layout = gtk_widget_create_pango_layout (GTK_WIDGET (scale), NULL);
 
       value = ABS (range->adjustment->lower);
       if (value == 0) value = 1;
index 1d9266be37c4297a9d9454d25a3861e267c35e80..74567f8d3b859f475df163db51ce5dce844a5b35 100644 (file)
@@ -167,8 +167,7 @@ gtk_vruler_draw_ticks (GtkRuler *ruler)
   xthickness = widget->style->xthickness;
   ythickness = widget->style->ythickness;
 
-  layout = gtk_widget_create_pango_layout (widget);
-  pango_layout_set_text (layout, "012456789", -1);
+  layout = gtk_widget_create_pango_layout (widget, "012456789");
   pango_layout_get_extents (layout, &ink_rect, &logical_rect);
   
   digit_height = PANGO_PIXELS (ink_rect.height) + 2;
index dd5782846dee18d7b9e7041ff7b806e77806c1c2..b69f1c176102d90a31c5bb5420d9d72966c95504 100644 (file)
@@ -530,8 +530,7 @@ gtk_vscale_draw_value (GtkScale *scale)
       
       sprintf (buffer, "%0.*f", GTK_RANGE (scale)->digits, GTK_RANGE (scale)->adjustment->value);
 
-      layout = gtk_widget_create_pango_layout (widget);
-      pango_layout_set_text (layout, buffer, strlen (buffer));
+      layout = gtk_widget_create_pango_layout (widget, buffer);
       pango_layout_get_pixel_extents (layout, NULL, &logical_rect);
 
       switch (scale->value_pos)
index 37d134b668868882066c6c559eaa2f1de1cd8d96..65735a6b1acd40af388c35233216dced8d4499e9 100644 (file)
@@ -3293,6 +3293,7 @@ gtk_widget_create_pango_context (GtkWidget *widget)
 /**
  * gtk_widget_create_pango_layout:
  * @widget: a #PangoWidget
+ * @text:   text to set on the layout (can be %NULL)
  * 
  * Create a new #PangoLayout with the appropriate colormap,
  * font description, and base direction for drawing text for
@@ -3306,7 +3307,8 @@ gtk_widget_create_pango_context (GtkWidget *widget)
  * Return value: the new #PangoLayout
  **/
 PangoLayout *
-gtk_widget_create_pango_layout (GtkWidget *widget)
+gtk_widget_create_pango_layout (GtkWidget   *widget,
+                               const gchar *text)
 {
   PangoLayout *layout;
   PangoContext *context;
@@ -3316,6 +3318,9 @@ gtk_widget_create_pango_layout (GtkWidget *widget)
   context = gtk_widget_get_pango_context (widget);
   layout = pango_layout_new (context);
 
+  if (text)
+    pango_layout_set_text (layout, text, -1);
+
   return layout;
 }
 
index c85dfd5537ca835c2f834522d774fd83400d8f68..a10d20b59d66b2a26211ad6751b3a80dd493fc97 100644 (file)
@@ -575,9 +575,10 @@ void          gtk_widget_restore_default_style (GtkWidget  *widget);
 void       gtk_widget_modify_style      (GtkWidget      *widget,
                                         GtkRcStyle     *style);
 
-PangoContext *gtk_widget_create_pango_context (GtkWidget *widget);
-PangoContext *gtk_widget_get_pango_context    (GtkWidget *widget);
-PangoLayout  *gtk_widget_create_pango_layout  (GtkWidget *widget);
+PangoContext *gtk_widget_create_pango_context (GtkWidget   *widget);
+PangoContext *gtk_widget_get_pango_context    (GtkWidget   *widget);
+PangoLayout  *gtk_widget_create_pango_layout  (GtkWidget   *widget,
+                                              const gchar *text);
 
 /* handle composite names for GTK_COMPOSITE_CHILD widgets,
  * the returned name is newly allocated.